package cn.apthink.controller;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 响应数据对象类
 * @author David唐
 * @createdate 2024年1月18日
 * @param <T> 数据对象类
 */
@EqualsAndHashCode(callSuper=false)
@Data
@ApiModel(value="响应数据对象包")
public class DataResult<T> extends BaseResult {
	@ApiModelProperty(name="data", value="返回数据对象")
	private T data;

	public final static <T> DataResult<T> success(String message, T data) {
		DataResult<T> result =  new DataResult<>();
		result.setErrorid(0);
		result.setMessage(message);
		result.setData(data);
		return result;
	}

	public final static <T> DataResult<T> error(int errorid, String message, T data) {
		DataResult<T> result =  new DataResult<>();
		result.setErrorid(errorid);
		result.setMessage(message);
		result.setData(data);
		return result;
	}

}
